#! /usr/bin/env python3
# -*- coding: utf-8 -*-
# author: maxiao
# date: 2023-05-14 14:58
# description: 实现冒泡排序（升序）

input_data = input("请输入待排序的数字、以空格隔开：")
# 类型转化（字符串转数字）
data = [int(item) for item in input_data.split()]
print("待排序的数组为：", data)
count = len(data)

def bubble_sort(data:list=[]) -> list:
    if count > 1:
        # 控制比较的轮数（比较轮数=数字个数-1）
        for i in range(1, count):
            # 控制相邻两数的大小（比较的个数=数字总数-比较轮数-1）
            for j in range(count-i):
                # 若前数比后数大，则交换位置
                if data[j] > data[j+1]:
                    data[j], data[j+1] = data[j+1], data[j]
            # 屏显每轮比较得出的列表
            print(f'经过第{i}轮的排序后，其列表为：', data)
    else:
        return data



bubble_sort(data)

